<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>arduino-audio-driver: src/AudioBoard.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">arduino-audio-driver
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">AudioBoard.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_audio_board_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_driver_8h.html">Driver.h</a>&quot;</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_driver_pins_8h.html">DriverPins.h</a>&quot;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160; </div>
<div class="line"><a name="l00005"></a><span class="lineno"><a class="line" href="namespaceaudio__driver.html">    5</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceaudio__driver.html">audio_driver</a> {</div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html">   13</a></span>&#160;<span class="keyword">class </span><a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> {</div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#ac204f20bdb59f7a3a27cd7126135bcfe">   16</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_audio_board.html#ac204f20bdb59f7a3a27cd7126135bcfe">AudioBoard</a>(<a class="code" href="classaudio__driver_1_1_audio_driver.html">AudioDriver</a> *<a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>, <a class="code" href="classaudio__driver_1_1_driver_pins.html">DriverPins</a>* <a class="code" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">pins</a>) {</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a> = <a class="code" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">pins</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a> = <a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;  }</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;  </div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a55f0744809619be61b7b9728c84320d0">   21</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_audio_board.html#a55f0744809619be61b7b9728c84320d0">AudioBoard</a>(<a class="code" href="classaudio__driver_1_1_audio_driver.html">AudioDriver</a> &amp;<a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>, <a class="code" href="classaudio__driver_1_1_driver_pins.html">DriverPins</a>&amp; <a class="code" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">pins</a>) {</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a> = &amp;<a class="code" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">pins</a>;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a> = &amp;<a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  }</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a601fb7cf1fc15db50c71a826f084f934">   26</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a601fb7cf1fc15db50c71a826f084f934">begin</a>(){</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="_logger_8c.html#a9ad68b9be1a9751690256858a3b16036">AD_LOGD</a>(<span class="stringliteral">&quot;AudioBoard::begin&quot;</span>);</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a>==<span class="keyword">nullptr</span>){</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;      <a class="code" href="_logger_8c.html#a5ca2348ac26af72e565d526564f2e696">AD_LOGE</a>(<span class="stringliteral">&quot;pins are null&quot;</span>);</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a>-&gt;<a class="code" href="classaudio__driver_1_1_driver_pins.html#ac657931b192113cc4f0dfa5854dd2f84">setSPIActiveForSD</a>(<a class="code" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">codec_cfg</a>.<a class="code" href="classaudio__driver_1_1_codec_config.html#ac585b3449d271276f8b679e8ab01b2ec">sd_active</a>);</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a>-&gt;<a class="code" href="classaudio__driver_1_1_driver_pins.html#a50f45551c10ca30a0bc7f447e70188b1">begin</a>()){</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;      <a class="code" href="_logger_8c.html#a5ca2348ac26af72e565d526564f2e696">AD_LOGE</a>(<span class="stringliteral">&quot;AudioBoard::pins::begin failed&quot;</span>);</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    }</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a2082348800b00b641ee937bc99c58e2a">begin</a>(<a class="code" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">codec_cfg</a>, *<a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a>)){</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;      <a class="code" href="_logger_8c.html#a5ca2348ac26af72e565d526564f2e696">AD_LOGE</a>(<span class="stringliteral">&quot;AudioBoard::driver::begin failed&quot;</span>);</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    }</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="classaudio__driver_1_1_audio_board.html#ad7d51b9e21a345d836cb4cfe2df2152c">setVolume</a>(<a class="code" href="_audio_driver_config_8h.html#a2513e2bd0eb45a0ccefbbcd3f289ca47">DRIVER_DEFAULT_VOLUME</a>);</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="classaudio__driver_1_1_audio_board.html#a407c3efba665d276a38229f905bef352">is_active</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  }</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#ae49803533e5ff17d6b9be477815f5c72">   47</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#ae49803533e5ff17d6b9be477815f5c72">begin</a>(<a class="code" href="classaudio__driver_1_1_codec_config.html">CodecConfig</a> cfg) {</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">codec_cfg</a> = cfg;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a601fb7cf1fc15db50c71a826f084f934">begin</a>();</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  }</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#aca4a2167d50991b8142ba909d65cb42d">   53</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#aca4a2167d50991b8142ba909d65cb42d">setConfig</a>(<a class="code" href="classaudio__driver_1_1_codec_config.html">CodecConfig</a> cfg) {</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    this-&gt;<a class="code" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">codec_cfg</a> = cfg;</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a6442182dfc4c54fb16b002b6f15c86e4">setConfig</a>(cfg);</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  }</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a1261028d75a47804743db047621c62ac">   58</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a1261028d75a47804743db047621c62ac">end</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <a class="code" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">p_pins</a>-&gt;<a class="code" href="classaudio__driver_1_1_driver_pins.html#aaf81d3fdaf258088d7692fa70cece087">end</a>();</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="classaudio__driver_1_1_audio_board.html#a407c3efba665d276a38229f905bef352">is_active</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a063cb6038676fcc58f5a7cbc93ef27f1">end</a>();</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  }</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a70628dacff2793c2793f7f30a4b9e994">   63</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a70628dacff2793c2793f7f30a4b9e994">setMute</a>(<span class="keywordtype">bool</span> enable) { <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a0065b12757039a60467b6b12ccefc4ba">setMute</a>(enable); }</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#ade3d888867e36d74b3cdc1cd3fe74c38">   64</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#ade3d888867e36d74b3cdc1cd3fe74c38">setMute</a>(<span class="keywordtype">bool</span> enable, <span class="keywordtype">int</span> line) { </div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keywordflow">if</span> (line == <a class="code" href="classaudio__driver_1_1_audio_board.html#a1cf5d0493a0b3a3e05ec9d557acd1c83">power_amp_line</a>) <a class="code" href="classaudio__driver_1_1_audio_board.html#a1b3ee72f65915dcb4c875835d6e08aa1">setPAPower</a>(!enable);</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a0065b12757039a60467b6b12ccefc4ba">setMute</a>(enable, line); </div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;  }</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#ad7d51b9e21a345d836cb4cfe2df2152c">   68</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#ad7d51b9e21a345d836cb4cfe2df2152c">setVolume</a>(<span class="keywordtype">int</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a>) {</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="_logger_8c.html#a9ad68b9be1a9751690256858a3b16036">AD_LOGD</a>(<span class="stringliteral">&quot;setVolume: %d&quot;</span>, <a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a>);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="comment">// when we get the volume we make sure that we report the same value</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="comment">// w/o rounding issues </span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    this-&gt;volume = <a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a>; </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="classaudio__driver_1_1_audio_board.html#a407c3efba665d276a38229f905bef352">is_active</a>) ? <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#a43d1eddbaad3e8e0f25004acb9c29efc">setVolume</a>(<a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a>) : <span class="keyword">false</span>; </div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;  }</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#aac9746ddc550ec176b0957affafbdbe7">   75</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#aac9746ddc550ec176b0957affafbdbe7">getVolume</a>() { </div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="preprocessor">#if DRIVER_REPORT_DRIVER_VOLUME</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#aaf041a73009a07b13117c75c1d09f00c">getVolume</a>(); }</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a> &gt;= 0 ? <a class="code" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">volume</a> : <a class="code" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">p_driver</a>-&gt;<a class="code" href="classaudio__driver_1_1_audio_driver.html#aaf041a73009a07b13117c75c1d09f00c">getVolume</a>(); }</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#aec6b6a6470235a8500063be9a64dc380">   81</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_driver_pins.html">DriverPins</a>&amp; <a class="code" href="classaudio__driver_1_1_audio_board.html#aec6b6a6470235a8500063be9a64dc380">getPins</a>() { <span class="keywordflow">return</span> *p_pins; }</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">   82</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_driver_pins.html">DriverPins</a>&amp; <a class="code" href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">pins</a>() { <span class="keywordflow">return</span> *p_pins; }</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a1b3ee72f65915dcb4c875835d6e08aa1">   84</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a1b3ee72f65915dcb4c875835d6e08aa1">setPAPower</a>(<span class="keywordtype">bool</span> enable) { <span class="keywordflow">return</span> is_active ? p_driver-&gt;setPAPower(enable) : <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;  </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#acd5d071057ce19f3718940329d202ef8">   87</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#acd5d071057ce19f3718940329d202ef8">setInputVolume</a>(<span class="keywordtype">int</span> volume) {<span class="keywordflow">return</span> p_driver-&gt;setInputVolume(volume);}</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a87342966494989ca0dc9f12b9e5d79f0">   89</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_audio_driver.html">AudioDriver</a>* <a class="code" href="classaudio__driver_1_1_audio_board.html#a87342966494989ca0dc9f12b9e5d79f0">getDriver</a>(){</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keywordflow">return</span> p_driver;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;  }</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">   92</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_audio_driver.html">AudioDriver</a>&amp; <a class="code" href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">driver</a>(){</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordflow">return</span> *p_driver;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  }</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="comment">// platform specific logic to determine if key is pressed</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a95e61120413f71e9743ff1b4c1c0ad11">   97</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classaudio__driver_1_1_audio_board.html#a95e61120413f71e9743ff1b4c1c0ad11">isKeyPressed</a>(uint8_t key) { <span class="keywordflow">return</span> p_pins-&gt;isKeyPressed(key); }</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a9b3baad8c612d81b96e46f84d7e97580">   99</a></span>&#160;  <span class="keyword">operator</span> bool() { <span class="keywordflow">return</span> is_active &amp;&amp; p_driver != <span class="keyword">nullptr</span> &amp;&amp; p_pins != <span class="keyword">nullptr</span>;}</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">  102</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_audio_driver.html">AudioDriver</a>* p_driver = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">  103</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_driver_pins.html">DriverPins</a>* p_pins = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">  104</a></span>&#160;  <a class="code" href="classaudio__driver_1_1_codec_config.html">CodecConfig</a> <a class="code" href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">codec_cfg</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a1cf5d0493a0b3a3e05ec9d557acd1c83">  105</a></span>&#160;  <span class="keywordtype">int</span> power_amp_line = <a class="code" href="_audio_driver_config_8h.html#a9407f00066bbd25c1bd46d20fa83ddb7">ES8388_PA_LINE</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">  106</a></span>&#160;  <span class="keywordtype">int</span> volume = -1;</div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classaudio__driver_1_1_audio_board.html#a407c3efba665d276a38229f905bef352">  107</a></span>&#160;  <span class="keywordtype">bool</span> is_active = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;};</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="comment">// -- Boards</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga9282e4e123ca2db202b817e95b4c4d6b">  115</a></span>&#160;<span class="comment"></span><span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga9282e4e123ca2db202b817e95b4c4d6b">AudioKitEs8388V1</a>{<a class="code" href="group__audio__driver.html#gad404af509b8a5ae73c689d6faa3d54df">AudioDriverES8388</a>, <a class="code" href="group__audio__driver.html#gaac2b21f064b1a332b2ae9b35fa46484e">PinsAudioKitEs8388v1</a>};</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga3ecb4bf2db338ccd232cad96a2e2341e">  117</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga3ecb4bf2db338ccd232cad96a2e2341e">AudioKitEs8388V2</a>{<a class="code" href="group__audio__driver.html#gad404af509b8a5ae73c689d6faa3d54df">AudioDriverES8388</a>, <a class="code" href="group__audio__driver.html#gaec73d289b40131bb320b17356793430e">PinsAudioKitEs8388v2</a>};</div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="group__audio__driver.html#gaebae1c0395623b4715a91f2f8c64ad6c">  119</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#gaebae1c0395623b4715a91f2f8c64ad6c">AudioKitAC101</a>{<a class="code" href="group__audio__driver.html#ga6e512f44cc6db0994d6b1617abcc93b0">AudioDriverAC101</a>, <a class="code" href="group__audio__driver.html#ga4de967e315821b064d50a78d01877d67">PinsAudioKitAC101</a>};</div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga0ffdf5c889c7a240e72df4ce7e323478">  121</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga0ffdf5c889c7a240e72df4ce7e323478">LyratV43</a>{<a class="code" href="group__audio__driver.html#gad404af509b8a5ae73c689d6faa3d54df">AudioDriverES8388</a>, <a class="code" href="group__audio__driver.html#ga61f7164942e4687d3136447ecc1fb78e">PinsLyrat43</a>};</div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga98fa8fe4385c4198150679fddade5eef">  123</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga98fa8fe4385c4198150679fddade5eef">LyratV42</a>{<a class="code" href="group__audio__driver.html#gad404af509b8a5ae73c689d6faa3d54df">AudioDriverES8388</a>, <a class="code" href="group__audio__driver.html#ga4c69c022bab026eb5d85877b0800771d">PinsLyrat42</a>};</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="group__audio__driver.html#gad1d9b3159991732b6af524c6c8e592f2">  125</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#gad1d9b3159991732b6af524c6c8e592f2">LyratMini</a>{<a class="code" href="group__audio__driver.html#ga3c281a9dabe9c42b609f386a515d7082">AudioDriverLyratMini</a>, <a class="code" href="group__audio__driver.html#ga0f4a0dbd3aeea6d499d87a62293e012e">PinsLyratMini</a>};</div>
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="group__audio__driver.html#gafe3ab59f1104cea44d71beeb7fe5a48f">  127</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#gafe3ab59f1104cea44d71beeb7fe5a48f">NoBoard</a>{<a class="code" href="group__audio__driver.html#ga3fee80a3a7d33b4cd0af36720e919be4">NoDriver</a>, <a class="code" href="group__audio__driver.html#gae6031df2ec66c645dd42ae315b79e156">NoPins</a>};</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga5ad99d7c81a4486004d837287a8cf54b">  129</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga5ad99d7c81a4486004d837287a8cf54b">GenericWM8960</a>{<a class="code" href="group__audio__driver.html#ga9edaa629f0334ef75e1666c847bcb3c3">AudioDriverWM8960</a>, <a class="code" href="group__audio__driver.html#gae6031df2ec66c645dd42ae315b79e156">NoPins</a>};</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="group__audio__driver.html#ga469170589e8c1dde2c640c0aadfffd02">  131</a></span>&#160;<span class="keyword">static</span> <a class="code" href="classaudio__driver_1_1_audio_board.html">AudioBoard</a> <a class="code" href="group__audio__driver.html#ga469170589e8c1dde2c640c0aadfffd02">GenericCS43l22</a>{<a class="code" href="group__audio__driver.html#ga9752ab43ee1dc1a25230ddfbd0916c15">AudioDriverCS43l22</a>, <a class="code" href="group__audio__driver.html#gae6031df2ec66c645dd42ae315b79e156">NoPins</a>};</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#if defined(ARDUINO_GENERIC_F411VETX)</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="keyword">static</span> AudioBoard STM32F411Disco{<a class="code" href="group__audio__driver.html#ga9752ab43ee1dc1a25230ddfbd0916c15">AudioDriverCS43l22</a>, PinsSTM32F411Disco};</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;}</div>
<div class="ttc" id="a_audio_driver_config_8h_html_a2513e2bd0eb45a0ccefbbcd3f289ca47"><div class="ttname"><a href="_audio_driver_config_8h.html#a2513e2bd0eb45a0ccefbbcd3f289ca47">DRIVER_DEFAULT_VOLUME</a></div><div class="ttdeci">#define DRIVER_DEFAULT_VOLUME</div><div class="ttdef"><b>Definition:</b> AudioDriverConfig.h:5</div></div>
<div class="ttc" id="a_audio_driver_config_8h_html_a9407f00066bbd25c1bd46d20fa83ddb7"><div class="ttname"><a href="_audio_driver_config_8h.html#a9407f00066bbd25c1bd46d20fa83ddb7">ES8388_PA_LINE</a></div><div class="ttdeci">#define ES8388_PA_LINE</div><div class="ttdef"><b>Definition:</b> AudioDriverConfig.h:33</div></div>
<div class="ttc" id="a_driver_8h_html"><div class="ttname"><a href="_driver_8h.html">Driver.h</a></div></div>
<div class="ttc" id="a_driver_pins_8h_html"><div class="ttname"><a href="_driver_pins_8h.html">DriverPins.h</a></div></div>
<div class="ttc" id="a_logger_8c_html_a5ca2348ac26af72e565d526564f2e696"><div class="ttname"><a href="_logger_8c.html#a5ca2348ac26af72e565d526564f2e696">AD_LOGE</a></div><div class="ttdeci">void AD_LOGE(const char *fmr,...)</div><div class="ttdef"><b>Definition:</b> Logger.c:46</div></div>
<div class="ttc" id="a_logger_8c_html_a9ad68b9be1a9751690256858a3b16036"><div class="ttname"><a href="_logger_8c.html#a9ad68b9be1a9751690256858a3b16036">AD_LOGD</a></div><div class="ttdeci">void AD_LOGD(const char *fmr,...)</div><div class="ttdef"><b>Definition:</b> Logger.c:10</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html">audio_driver::AudioBoard</a></div><div class="ttdoc">Defitintion for audio board pins and an audio driver.</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:13</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a1261028d75a47804743db047621c62ac"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a1261028d75a47804743db047621c62ac">audio_driver::AudioBoard::end</a></div><div class="ttdeci">bool end(void)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:58</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a1b3ee72f65915dcb4c875835d6e08aa1"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a1b3ee72f65915dcb4c875835d6e08aa1">audio_driver::AudioBoard::setPAPower</a></div><div class="ttdeci">bool setPAPower(bool enable)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:84</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a1cf5d0493a0b3a3e05ec9d557acd1c83"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a1cf5d0493a0b3a3e05ec9d557acd1c83">audio_driver::AudioBoard::power_amp_line</a></div><div class="ttdeci">int power_amp_line</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:105</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a407c3efba665d276a38229f905bef352"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a407c3efba665d276a38229f905bef352">audio_driver::AudioBoard::is_active</a></div><div class="ttdeci">bool is_active</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:107</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a4296f334f4441aae57fb5f43a0b77968"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a4296f334f4441aae57fb5f43a0b77968">audio_driver::AudioBoard::codec_cfg</a></div><div class="ttdeci">CodecConfig codec_cfg</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:104</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a42db9a98715e0b6383cd493d5ca06a8e"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a42db9a98715e0b6383cd493d5ca06a8e">audio_driver::AudioBoard::pins</a></div><div class="ttdeci">DriverPins &amp; pins()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:82</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a55f0744809619be61b7b9728c84320d0"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a55f0744809619be61b7b9728c84320d0">audio_driver::AudioBoard::AudioBoard</a></div><div class="ttdeci">AudioBoard(AudioDriver &amp;driver, DriverPins &amp;pins)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:21</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a601fb7cf1fc15db50c71a826f084f934"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a601fb7cf1fc15db50c71a826f084f934">audio_driver::AudioBoard::begin</a></div><div class="ttdeci">bool begin()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:26</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a70628dacff2793c2793f7f30a4b9e994"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a70628dacff2793c2793f7f30a4b9e994">audio_driver::AudioBoard::setMute</a></div><div class="ttdeci">bool setMute(bool enable)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:63</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a7ba8209068c79f8f795971ce00249f89"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a7ba8209068c79f8f795971ce00249f89">audio_driver::AudioBoard::p_driver</a></div><div class="ttdeci">AudioDriver * p_driver</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:102</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a87342966494989ca0dc9f12b9e5d79f0"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a87342966494989ca0dc9f12b9e5d79f0">audio_driver::AudioBoard::getDriver</a></div><div class="ttdeci">AudioDriver * getDriver()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:89</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_a95e61120413f71e9743ff1b4c1c0ad11"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#a95e61120413f71e9743ff1b4c1c0ad11">audio_driver::AudioBoard::isKeyPressed</a></div><div class="ttdeci">bool isKeyPressed(uint8_t key)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:97</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_aac9746ddc550ec176b0957affafbdbe7"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#aac9746ddc550ec176b0957affafbdbe7">audio_driver::AudioBoard::getVolume</a></div><div class="ttdeci">int getVolume()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:75</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_ac204f20bdb59f7a3a27cd7126135bcfe"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#ac204f20bdb59f7a3a27cd7126135bcfe">audio_driver::AudioBoard::AudioBoard</a></div><div class="ttdeci">AudioBoard(AudioDriver *driver, DriverPins *pins)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:16</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_ac5f7a3c4d82672fa053d0eb94949cf1a"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#ac5f7a3c4d82672fa053d0eb94949cf1a">audio_driver::AudioBoard::driver</a></div><div class="ttdeci">AudioDriver &amp; driver()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:92</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_aca4a2167d50991b8142ba909d65cb42d"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#aca4a2167d50991b8142ba909d65cb42d">audio_driver::AudioBoard::setConfig</a></div><div class="ttdeci">bool setConfig(CodecConfig cfg)</div><div class="ttdoc">Updates the CodecConfig values -&gt; reconfigures the codec only.</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:53</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_acd5d071057ce19f3718940329d202ef8"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#acd5d071057ce19f3718940329d202ef8">audio_driver::AudioBoard::setInputVolume</a></div><div class="ttdeci">bool setInputVolume(int volume)</div><div class="ttdoc">set volume for adc: this is only supported on some defined codecs</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:87</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_ad7d51b9e21a345d836cb4cfe2df2152c"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#ad7d51b9e21a345d836cb4cfe2df2152c">audio_driver::AudioBoard::setVolume</a></div><div class="ttdeci">bool setVolume(int volume)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:68</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_ade3d888867e36d74b3cdc1cd3fe74c38"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#ade3d888867e36d74b3cdc1cd3fe74c38">audio_driver::AudioBoard::setMute</a></div><div class="ttdeci">bool setMute(bool enable, int line)</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:64</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_ae49803533e5ff17d6b9be477815f5c72"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#ae49803533e5ff17d6b9be477815f5c72">audio_driver::AudioBoard::begin</a></div><div class="ttdeci">bool begin(CodecConfig cfg)</div><div class="ttdoc">Starts the processing.</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:47</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_aec6b6a6470235a8500063be9a64dc380"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#aec6b6a6470235a8500063be9a64dc380">audio_driver::AudioBoard::getPins</a></div><div class="ttdeci">DriverPins &amp; getPins()</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:81</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_aed163ec96131f32e2b3316974a2bd9bc"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#aed163ec96131f32e2b3316974a2bd9bc">audio_driver::AudioBoard::p_pins</a></div><div class="ttdeci">DriverPins * p_pins</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:103</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_board_html_aed48ca0bcd2162fd4fd495873e2631f5"><div class="ttname"><a href="classaudio__driver_1_1_audio_board.html#aed48ca0bcd2162fd4fd495873e2631f5">audio_driver::AudioBoard::volume</a></div><div class="ttdeci">int volume</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:106</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html">audio_driver::AudioDriver</a></div><div class="ttdoc">Abstract Driver API for codec chips.</div><div class="ttdef"><b>Definition:</b> Driver.h:194</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_a0065b12757039a60467b6b12ccefc4ba"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#a0065b12757039a60467b6b12ccefc4ba">audio_driver::AudioDriver::setMute</a></div><div class="ttdeci">virtual bool setMute(bool enable)=0</div><div class="ttdoc">Mutes all output lines.</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_a063cb6038676fcc58f5a7cbc93ef27f1"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#a063cb6038676fcc58f5a7cbc93ef27f1">audio_driver::AudioDriver::end</a></div><div class="ttdeci">virtual bool end(void)</div><div class="ttdoc">Ends the processing: shut down dac and adc.</div><div class="ttdef"><b>Definition:</b> Driver.h:232</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_a2082348800b00b641ee937bc99c58e2a"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#a2082348800b00b641ee937bc99c58e2a">audio_driver::AudioDriver::begin</a></div><div class="ttdeci">virtual bool begin(CodecConfig codecCfg, DriverPins &amp;pins)</div><div class="ttdoc">Starts the processing.</div><div class="ttdef"><b>Definition:</b> Driver.h:198</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_a43d1eddbaad3e8e0f25004acb9c29efc"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#a43d1eddbaad3e8e0f25004acb9c29efc">audio_driver::AudioDriver::setVolume</a></div><div class="ttdeci">virtual bool setVolume(int volume)=0</div><div class="ttdoc">Defines the Volume (in %) if volume is 0, mute is enabled,range is 0-100.</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_a6442182dfc4c54fb16b002b6f15c86e4"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#a6442182dfc4c54fb16b002b6f15c86e4">audio_driver::AudioDriver::setConfig</a></div><div class="ttdeci">virtual bool setConfig(CodecConfig codecCfg)</div><div class="ttdoc">changes the configuration</div><div class="ttdef"><b>Definition:</b> Driver.h:212</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_audio_driver_html_aaf041a73009a07b13117c75c1d09f00c"><div class="ttname"><a href="classaudio__driver_1_1_audio_driver.html#aaf041a73009a07b13117c75c1d09f00c">audio_driver::AudioDriver::getVolume</a></div><div class="ttdeci">virtual int getVolume()=0</div><div class="ttdoc">Determines the actual volume (range: 0-100)</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_codec_config_html"><div class="ttname"><a href="classaudio__driver_1_1_codec_config.html">audio_driver::CodecConfig</a></div><div class="ttdoc">I2S configuration and definition of input and output with default values.</div><div class="ttdef"><b>Definition:</b> Driver.h:37</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_codec_config_html_ac585b3449d271276f8b679e8ab01b2ec"><div class="ttname"><a href="classaudio__driver_1_1_codec_config.html#ac585b3449d271276f8b679e8ab01b2ec">audio_driver::CodecConfig::sd_active</a></div><div class="ttdeci">bool sd_active</div><div class="ttdef"><b>Definition:</b> Driver.h:185</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_driver_pins_html"><div class="ttname"><a href="classaudio__driver_1_1_driver_pins.html">audio_driver::DriverPins</a></div><div class="ttdoc">All pins for i2s, spi, i2c and other pins.</div><div class="ttdef"><b>Definition:</b> DriverPins.h:273</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_driver_pins_html_a50f45551c10ca30a0bc7f447e70188b1"><div class="ttname"><a href="classaudio__driver_1_1_driver_pins.html#a50f45551c10ca30a0bc7f447e70188b1">audio_driver::DriverPins::begin</a></div><div class="ttdeci">virtual bool begin()</div><div class="ttdoc">Sets up all pins e.g. by calling pinMode()</div><div class="ttdef"><b>Definition:</b> DriverPins.h:392</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_driver_pins_html_aaf81d3fdaf258088d7692fa70cece087"><div class="ttname"><a href="classaudio__driver_1_1_driver_pins.html#aaf81d3fdaf258088d7692fa70cece087">audio_driver::DriverPins::end</a></div><div class="ttdeci">void end()</div><div class="ttdef"><b>Definition:</b> DriverPins.h:416</div></div>
<div class="ttc" id="aclassaudio__driver_1_1_driver_pins_html_ac657931b192113cc4f0dfa5854dd2f84"><div class="ttname"><a href="classaudio__driver_1_1_driver_pins.html#ac657931b192113cc4f0dfa5854dd2f84">audio_driver::DriverPins::setSPIActiveForSD</a></div><div class="ttdeci">void setSPIActiveForSD(bool active)</div><div class="ttdoc">Defines if SPI for SD should be started (by default true)</div><div class="ttdef"><b>Definition:</b> DriverPins.h:429</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga0f4a0dbd3aeea6d499d87a62293e012e"><div class="ttname"><a href="group__audio__driver.html#ga0f4a0dbd3aeea6d499d87a62293e012e">audio_driver::PinsLyratMini</a></div><div class="ttdeci">static PinsLyratMiniClass PinsLyratMini</div><div class="ttdef"><b>Definition:</b> DriverPins.h:798</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga0ffdf5c889c7a240e72df4ce7e323478"><div class="ttname"><a href="group__audio__driver.html#ga0ffdf5c889c7a240e72df4ce7e323478">audio_driver::LyratV43</a></div><div class="ttdeci">static AudioBoard LyratV43</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:121</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga3c281a9dabe9c42b609f386a515d7082"><div class="ttname"><a href="group__audio__driver.html#ga3c281a9dabe9c42b609f386a515d7082">audio_driver::AudioDriverLyratMini</a></div><div class="ttdeci">static AudioDriverLyratMiniClass AudioDriverLyratMini</div><div class="ttdef"><b>Definition:</b> Driver.h:1496</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga3ecb4bf2db338ccd232cad96a2e2341e"><div class="ttname"><a href="group__audio__driver.html#ga3ecb4bf2db338ccd232cad96a2e2341e">audio_driver::AudioKitEs8388V2</a></div><div class="ttdeci">static AudioBoard AudioKitEs8388V2</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:117</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga3fee80a3a7d33b4cd0af36720e919be4"><div class="ttname"><a href="group__audio__driver.html#ga3fee80a3a7d33b4cd0af36720e919be4">audio_driver::NoDriver</a></div><div class="ttdeci">static NoDriverClass NoDriver</div><div class="ttdef"><b>Definition:</b> Driver.h:1498</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga469170589e8c1dde2c640c0aadfffd02"><div class="ttname"><a href="group__audio__driver.html#ga469170589e8c1dde2c640c0aadfffd02">audio_driver::GenericCS43l22</a></div><div class="ttdeci">static AudioBoard GenericCS43l22</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:131</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga4c69c022bab026eb5d85877b0800771d"><div class="ttname"><a href="group__audio__driver.html#ga4c69c022bab026eb5d85877b0800771d">audio_driver::PinsLyrat42</a></div><div class="ttdeci">static PinsLyrat42Class PinsLyrat42</div><div class="ttdef"><b>Definition:</b> DriverPins.h:796</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga4de967e315821b064d50a78d01877d67"><div class="ttname"><a href="group__audio__driver.html#ga4de967e315821b064d50a78d01877d67">audio_driver::PinsAudioKitAC101</a></div><div class="ttdeci">static PinsAudioKitAC101Class PinsAudioKitAC101</div><div class="ttdef"><b>Definition:</b> DriverPins.h:804</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga5ad99d7c81a4486004d837287a8cf54b"><div class="ttname"><a href="group__audio__driver.html#ga5ad99d7c81a4486004d837287a8cf54b">audio_driver::GenericWM8960</a></div><div class="ttdeci">static AudioBoard GenericWM8960</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:129</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga61f7164942e4687d3136447ecc1fb78e"><div class="ttname"><a href="group__audio__driver.html#ga61f7164942e4687d3136447ecc1fb78e">audio_driver::PinsLyrat43</a></div><div class="ttdeci">static PinsLyrat43Class PinsLyrat43</div><div class="ttdef"><b>Definition:</b> DriverPins.h:794</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga6e512f44cc6db0994d6b1617abcc93b0"><div class="ttname"><a href="group__audio__driver.html#ga6e512f44cc6db0994d6b1617abcc93b0">audio_driver::AudioDriverAC101</a></div><div class="ttdeci">static AudioDriverAC101Class AudioDriverAC101</div><div class="ttdef"><b>Definition:</b> Driver.h:1472</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga9282e4e123ca2db202b817e95b4c4d6b"><div class="ttname"><a href="group__audio__driver.html#ga9282e4e123ca2db202b817e95b4c4d6b">audio_driver::AudioKitEs8388V1</a></div><div class="ttdeci">static AudioBoard AudioKitEs8388V1</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:115</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga9752ab43ee1dc1a25230ddfbd0916c15"><div class="ttname"><a href="group__audio__driver.html#ga9752ab43ee1dc1a25230ddfbd0916c15">audio_driver::AudioDriverCS43l22</a></div><div class="ttdeci">static AudioDriverCS43l22Class AudioDriverCS43l22</div><div class="ttdef"><b>Definition:</b> Driver.h:1474</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga98fa8fe4385c4198150679fddade5eef"><div class="ttname"><a href="group__audio__driver.html#ga98fa8fe4385c4198150679fddade5eef">audio_driver::LyratV42</a></div><div class="ttdeci">static AudioBoard LyratV42</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:123</div></div>
<div class="ttc" id="agroup__audio__driver_html_ga9edaa629f0334ef75e1666c847bcb3c3"><div class="ttname"><a href="group__audio__driver.html#ga9edaa629f0334ef75e1666c847bcb3c3">audio_driver::AudioDriverWM8960</a></div><div class="ttdeci">static AudioDriverWM8960Class AudioDriverWM8960</div><div class="ttdef"><b>Definition:</b> Driver.h:1490</div></div>
<div class="ttc" id="agroup__audio__driver_html_gaac2b21f064b1a332b2ae9b35fa46484e"><div class="ttname"><a href="group__audio__driver.html#gaac2b21f064b1a332b2ae9b35fa46484e">audio_driver::PinsAudioKitEs8388v1</a></div><div class="ttdeci">static PinsAudioKitEs8388v1Class PinsAudioKitEs8388v1</div><div class="ttdef"><b>Definition:</b> DriverPins.h:800</div></div>
<div class="ttc" id="agroup__audio__driver_html_gad1d9b3159991732b6af524c6c8e592f2"><div class="ttname"><a href="group__audio__driver.html#gad1d9b3159991732b6af524c6c8e592f2">audio_driver::LyratMini</a></div><div class="ttdeci">static AudioBoard LyratMini</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:125</div></div>
<div class="ttc" id="agroup__audio__driver_html_gad404af509b8a5ae73c689d6faa3d54df"><div class="ttname"><a href="group__audio__driver.html#gad404af509b8a5ae73c689d6faa3d54df">audio_driver::AudioDriverES8388</a></div><div class="ttdeci">static AudioDriverES8388Class AudioDriverES8388</div><div class="ttdef"><b>Definition:</b> Driver.h:1488</div></div>
<div class="ttc" id="agroup__audio__driver_html_gae6031df2ec66c645dd42ae315b79e156"><div class="ttname"><a href="group__audio__driver.html#gae6031df2ec66c645dd42ae315b79e156">audio_driver::NoPins</a></div><div class="ttdeci">static DriverPins NoPins</div><div class="ttdoc">Pins need to be set up in the sketch.</div><div class="ttdef"><b>Definition:</b> DriverPins.h:792</div></div>
<div class="ttc" id="agroup__audio__driver_html_gaebae1c0395623b4715a91f2f8c64ad6c"><div class="ttname"><a href="group__audio__driver.html#gaebae1c0395623b4715a91f2f8c64ad6c">audio_driver::AudioKitAC101</a></div><div class="ttdeci">static AudioBoard AudioKitAC101</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:119</div></div>
<div class="ttc" id="agroup__audio__driver_html_gaec73d289b40131bb320b17356793430e"><div class="ttname"><a href="group__audio__driver.html#gaec73d289b40131bb320b17356793430e">audio_driver::PinsAudioKitEs8388v2</a></div><div class="ttdeci">static PinsAudioKitEs8388v2Class PinsAudioKitEs8388v2</div><div class="ttdef"><b>Definition:</b> DriverPins.h:802</div></div>
<div class="ttc" id="agroup__audio__driver_html_gafe3ab59f1104cea44d71beeb7fe5a48f"><div class="ttname"><a href="group__audio__driver.html#gafe3ab59f1104cea44d71beeb7fe5a48f">audio_driver::NoBoard</a></div><div class="ttdeci">static AudioBoard NoBoard</div><div class="ttdef"><b>Definition:</b> AudioBoard.h:127</div></div>
<div class="ttc" id="anamespaceaudio__driver_html"><div class="ttname"><a href="namespaceaudio__driver.html">audio_driver</a></div><div class="ttdef"><b>Definition:</b> AudioBoard.h:5</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
